.. _Руководство по настройке пользователей: ######################################## Руководство по настройке пользователей ######################################## **************************************************** Общие положения **************************************************** Информация о пользователях системы хранится во встроенном LDAP. Управление пользователями может осуществляться как инструментами LDAP, так и встроенными в систему инструментами. При необходимости, в рамках проекта, может быть настроена синхронизация пользователей системы с корпоративным справочником. **************************************************** Управление пользователями через командную строку **************************************************** ======================================================= Общие положения ======================================================= Скрипт предназначен для управления пользователями администратором системы из командной строки ======================================================= Положение скрипта на сервере ======================================================= Скрипт расположен по адресу: `/home/sgate/scripts/tautoki_users.sh` ======================================================= Параметры использования скрипта ======================================================= : :: Usage: ./tautoki_users.sh {create-user|delete-user|set-password|add-roles|remove-roles|get-user} [OPTIONS] ./tautoki_users.sh [-h|--help] -h, --help prints this help -u, --url backend url (e.g. https://example.com:8080) (required) -n, --login backend login (required) -w, --password backend password (required) -l, --user-login user login (required) -p, --user-password user password -d, --department comma-separated user department hierarchy (e.g. dep1,dep2) -t, --description user description -f, --firstName user first name -s, --lastName user last name -e, --email comma-separated user emails -m, --mobile comma-separated user mobile phones -r, --roles comma-separated user roles .. * --login - имя суперпользователя * --password - пароль суперпользователя ======================================================= Примеры использования скрипта ======================================================= ---------------------------------------------------------------- Добавление пользователей ---------------------------------------------------------------- : :: ./tautoki_users.sh create-user -u https://example.com:8081 -n login -w password \ -l username -p userpasswd -d "Department 1,Subdepartment 1" -t "User description" -\ f John -s Doe -e "jdoe@exaple.com,jdoe2@example.com" -m "79101234567" -r "user,operator" ./tautoki_users.sh create-user -u https://example.com:8081 -n login -w password \ -l username -p userpasswd -d "Department 1" -r user ./tautoki_users.sh create-user -u https://example.com:8081 -n login \ -l username -p userpasswd -d "Department 1" -r user ./tautoki_users.sh create-user -u https://example.com:8081 -n login \ -l username -p userpasswd -r user .. ---------------------------------------------------------------- Удаление пользователей ---------------------------------------------------------------- : :: ./tautoki_users.sh delete-user -u https://example.com:8081 -n login -w password -l username ./tautoki_users.sh delete-user -u https://example.com:8081 -n login -l username .. ---------------------------------------------------------------- Изменение пароля пользователя ---------------------------------------------------------------- : :: ./tautoki_users.sh set-password -u https://example.com:8081 -n login -w password -l username -p new_passwd ./tautoki_users.sh set-password -u https://example.com:8081 -n login -l username -p new_passwd .. ---------------------------------------------------------------- Добавление роли пользователя ---------------------------------------------------------------- : :: ./tautoki_users.sh add-roles -u https://example.com:8081 -n login -w password \ -l username -r "operator,manager" ./tautoki_users.sh add-roles -u https://example.com:8081 -n login \ -l username -r "operator,manager" .. ---------------------------------------------------------------- Удаление роли пользователя ---------------------------------------------------------------- : :: ./tautoki_users.sh remove-roles -u https://example.com:8081 -n login -w password -l username\ -r "operator,manager" ./tautoki_users.sh remove-roles -u https://example.com:8081 -n login -l username \ -r "operator,manager" .. ---------------------------------------------------------------- Получение информации о пользователе ---------------------------------------------------------------- : :: ./tautoki_users.sh get-user -u https://example.com:8081 -n login -w password -l username ./tautoki_users.sh get-user -u https://example.com:8081 -n login -l username .. **************************************************** Управление пользователями через REST API **************************************************** Для автоматизации управления пользователями создан REST API, позволяющий управлять пользователями: * POST /admin/users/create * POST /admin/users/update * POST /admin/users/delete * POST /admin/users/get * POST /admin/users/list В REST запросах имя-пароль суперпользователя указываются в заголовке Autorization : `Authorization: Basic ***********` Формат данных пользователя: :: { "login": "user_login", "password": "user_password", "department": [ "dep1", "dep2", "dep3" ], "description": "user description", "firstName": "John", "lastName": "Doe", "email": [ "jdoe@example.com" ], "mobile": [ "71233456789" ], "roles": [ "user" ] } .. Минимальный формат: :: { "login": "user_login", "password": "user_password", "department": [ "dep1", "dep2", "dep3" ] } .. Все поля, кроме login, password необязательные. department задает иерархию ou (organizationalUnit) пользователя в ldap. Должен соответствовать тем ou, которые уже есть в ldap. Новые ou автоматически не создаются. Роли создаются автоматически по необходимости. Для get и delete в теле запроса должен быть передан логин: :: { "login": "user_login", } .. .. note:: Фильтры объединяются по условию И. Списки в фильтрах (кроме department) объединяются по ИЛИ. Пустой список означает отсутствие значения. Список в department задает строгое соответствие иерархии ou. Пустой список ролей позволяет выбрать пользователей без ролей. Запрос с пустым json выдаст всех пользователей.